package tests;

import common.Utils;
import org.openqa.selenium.By;

import java.io.IOException;

public class LoginPage extends Utils {
    public static String url="http://49.235.61.184:8080/user/login";

    public LoginPage()
    {

        super(url);
    }

    /**
     *
     1.检查登录页面是否可以正常打开
     *
     **/
    public  void  checkPageRight(){
        //检查中/英切换
        driver.findElement(By.cssSelector("#root > div > div.lang___l6cji > span > i > svg"));
       //登录框
        driver.findElement(By.cssSelector("#username"));
        driver.findElement(By.cssSelector("#password"));
        driver.findElement(By.cssSelector("#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button"));
        driver.findElement(By.cssSelector("#root > div > div.content___2zk1- > div.main___x4OjT > div > form > div:nth-child(4) > a"));
    }


    /**
     2.登录成功---正确的账号和密码
     */
    public void LoginSuc() throws IOException {
        //先清空输入框
        driver.findElement(By.cssSelector("#username")).clear();
        driver.findElement(By.cssSelector("#password")).clear();

        //输入账号密码
        driver.findElement(By.cssSelector("#username")).sendKeys("lini");
        driver.findElement(By.cssSelector("#password")).sendKeys("123456");
        driver.findElement(By.cssSelector("#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button")).click();



        //校验登录是否成功----出现设置按钮
        driver.findElement(By.cssSelector("#sk-layout > div > div > section > div.ant-pro-layout-container > header.ant-layout-header.ant-pro-layout-header.ant-pro-layout-header-fixed-header.ant-pro-layout-header-mix.ant-pro-layout-header-header > div > div.ant-pro-global-header-right-content > div > div > div > div:nth-child(2)"));

        //屏幕截图
        getScreenShot(Thread.currentThread().getStackTrace()[1].getMethodName());
    }

    /**
     3.异常登录
     * ----用户名和密码都为空
     * ----用户名为空，密码不为空
     * ----用户名不为空，密码为空
     * ----正确的用户名，错误的密码
     * ----错误的用户名，正确的密码
     * ----用户名和密码都错误
     * ----点击登录按钮，还在登录页面
     * ----输入框：输入过长的内容，过短的·，特殊字符·...
     */
    public  void  LoginFail()  {
        //用户名和密码都为空
        driver.findElement(By.cssSelector("#username")).sendKeys("");
        driver.findElement(By.cssSelector("#password")).sendKeys("");
        driver.findElement(By.cssSelector("#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button")).click();

        //处理错误提示---- 刷新页面
        driver.navigate().refresh();


        //正确的用户名，错误的密码
        driver.findElement(By.cssSelector("#username")).sendKeys("lini");
        driver.findElement(By.cssSelector("#password")).sendKeys("1111");
        driver.findElement(By.cssSelector("#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button")).click();

        //处理错误提示---- 刷新页面
        driver.navigate().refresh();


        //用户名和密码都错误
        driver.findElement(By.cssSelector("#username")).sendKeys("llll");
        driver.findElement(By.cssSelector("#password")).sendKeys("2222");
        driver.findElement(By.cssSelector("#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button")).click();

        //处理错误提示---- 刷新页面
        driver.navigate().refresh();

        //点击登录按钮，还在登录页面
        String curUrl = driver.getCurrentUrl();
        //如果点击登录后, 当前仍在登录界面, 则登录失败
        assert curUrl.equals("http://49.235.61.184:8080/user/login");




    }

}
